package com.whfc.common.third.sms;

import java.util.Date;
import java.util.Map;

/**
 * @Description: 短信接口
 * @author: xugcheng
 * @version: 1.0
 * @date: 2021-10-13 10:45
 */
public interface SmsApi {

    /**
     * 短信验证码模板
     */
    String TEMPLATE_CODE_VERIFY = "verify";

    /**
     * 人员报警短信模板
     */
    String TEMPLATE_CODE_EMP = "emp";

    /**
     * 设备报警短信模板
     */
    String TEMPLATE_CODE_MACH = "mach";

    /**
     * 特种设备报警短信模板
     */
    String TEMPLATE_CODE_FSE = "fse";

    /**
     * 智能监控报警短信模板
     */
    String TEMPLATE_CODE_FIM = "fim";

    /**
     * 环境监控报警短信模板
     */
    String TEMPLATE_CODE_ENV = "env";

    /**
     * 旋挖设备报警短信模板
     */
    String TEMPLATE_CODE_ROTARY = "rotary";

    /**
     * 发送短信验证码
     *
     * @param phone
     * @param code
     * @return
     */
    String sendSmsVerify(String phone, String code);

    String sendSmsEmp(String phone, String username, Date time, String empName, String rule);

    String sendSmsMach(String phone, String username, Date time, String deviceName, String rule);

    String sendSmsFim(String phone, String username, Date time, String deviceName, String rule);

    String sendSmsFse(String phone, String username, Date time, String deviceName, String rule);

    String sendSmsEnv(String phone, String username, Date time, String deviceName, String rule);

    String sendSmsRotary(String phone, String username, Date time, String deviceName, String rule);

    /**
     * 发送模板短信
     *
     * @param phone
     * @param templateCode
     * @param templateParam
     * @return
     */
    String sendSms(String phone, String templateCode, Map<String, Object> templateParam);
}
